The invention relates generally to computer networks and deals more particularly with a technique for selecting code updates, data updates or new data stored in a server for installation in a client computer.
A computer includes hardware and programs such as an operating system and applications. Often times, after a program is installed, there are subsequent code "fixes", new versions and revisions (collectively called "code updates"). The updates may comprise a replacement of one or more bytes of the existing program, a single file of the program or the entire program. Typically each code update also includes a short routine to actually install the updated code in the client. The installation routine typically replaces selected bytes or files in the existing program with new bytes or files from the update.
A user of the client computer may also need new data or data updates such as updated customer lists, product catalogs, directories, etc. It may also be desirable to send unsolicited advertisements or product literature to the user.
The "Internet" is well known today and comprises client computers connected via modems and communication lines to one or more servers and respective data bases. Servers provide a wide variety of services to the clients such as routing of electronic mail and information, news service, management of web pages and web sites, management of code updates, etc. The data bases include actual data, code updates and meta data which describes the actual data and code updates.
There are various known techniques for a server to provide a client with a code update or a user with new data. In one technique, clients register with the server for updates to a particular program and users register with the server for updates or new data. Whenever the server obtains a new update for that program or new data of the specified type, the server automatically sends the code update or new data of the specified type to every client/user on the list. Unfortunately, some users may not wish to obtain a particular update or particular new data of the specified type because of cost, download time or other reason. Alternately, a user can periodically request all code updates or new data of specified types and the server will respond accordingly. Unfortunately again, the user may not need every code update or data of the specified type but nevertheless, endures the cost and download time. In general, because of the large number and complexity of software applications on a user's system, and the large number and complexity of the corresponding updates for that system, it is very difficult for users to know what updates are appropriate for them. Likewise, there is so much new data generated every day that it is difficult to know what new data is appropriate for particular users.
A general object of the present invention is to provide a method and system for selecting code updates and new data for a user.